function [model,addedRxns] = untargetedGapFilling(model,osenseStr,database,excludeDMs,excludeSinks,excludeExchanges)
% This script is part of the DEMETER pipeline and attemps to find a
% reaction from the complete reaction database through the use of
% relaxedFBA that could enable flux through the objective function. This
% function will be performed only if targeted gap-filling failed.
%
% USAGE:
%
%   [model,addedRxns] = untargetedGapFilling(model,osenseStr,database)
%
% INPUTS
% model:              COBRA model structure
% osenseStr:          Maximize ('max')/minimize ('min')linear part of the
%                     objective.
% database:           rBioNet reaction database containing min. 3 columns:
%                     Column 1: reaction abbreviation, Column 2: reaction
%                     name, Column 3: reaction formula.
% excludeDMs          boolean indicating if demand reactions should be
%                     excluded from gap-filling reactions (default: true)
% excludeSinks        boolean indicating if sink reactions should be
%                     excluded from gap-filling reactions (default: true)
% excludeExchanges    boolean indicating if exchanges reactions should be
%                     excluded from gap-filling reactions (default: false)
%
% OUTPUT
% model:              Gapfilled COBRA model structure
% addedRxns:          Added gapfilled reactions
%
% .. Authors:
%       - Ines Thiele and Almut Heinken, 02/2021

addedRxns = {};

% remove human reactions from database
humanComp = {'[m]','[l]','[n]','[x]','[r]','[g]','[u]','[ev]','[eb]','[ep]'};
database.reactions(contains(database.reactions(:,3),humanComp),:)=[];

% remove periplasm compartment from database
ppComp = {'[p]'};
database.reactions(contains(database.reactions(:,3),ppComp),:)=[];

% define reactions that should not be considered
ExcludeRxns = {'DTTPte','COAt','COAti','DPCOAt','DPCOAti','AMPt2','AMPt2r','NADPt','NADPti','DGTPt','DGTPti','CMPt2i','CMPt2','GMPt2','GMPt2r','UMPt2','UMPt2i','GTPt','GTPti','DATPt','DATPti','INULINASE','INULINabc','GLDBRAN','GLBRAN','R_group_phosphotase_1','R_group_phosphotase_2','ARTPLM1','SINK_PCHOL(c)'};

% exclude compounds not in complex medium
notinCM = {'EX_10fthf(e)','EX_10fthf5glu(e)','EX_10fthf6glu(e)','EX_10fthf7glu(e)','EX_11_cis_retfa(e)','EX_11docrtsl(e)','EX_11docrtstrn(e)','EX_12dgr120(e)','EX_12dhchol(e)','EX_12ethd(e)','EX_12harachd(e)','EX_12HPET(e)','EX_12htacr(eb)','EX_12htacr(ep)','EX_12htacr(ev)','EX_12htacr(u)','EX_12ppd_R(e)','EX_12ppd_S(e)','EX_13_cis_oretn(e)','EX_13_cis_retn(e)','EX_13_cis_retnglc(e)','EX_1331tacr(eb)','EX_1331tacr(ev)','EX_13dampp(e)','EX_13dmt(eb)','EX_13dmt(ep)','EX_13dmt(ev)','EX_13dmt(u)','EX_13ppd(e)','EX_14glucan(e)','EX_14hmdz(ev)','EX_1513tacr(eb)','EX_1513tacr(ep)','EX_1513tacr(ev)','EX_1513tacr(u)','EX_1531tacr(eb)','EX_1531tacr(ev)','EX_15dap(e)','EX_15dmt(eb)','EX_15dmt(ep)','EX_15dmt(ev)','EX_15dmt(u)','EX_15HPET(e)','EX_15kprostgf2(e)','EX_18harachd(e)','EX_1a25dhvitd3(e)','EX_1glyc_hs(e)','EX_1hibup_S(e)','EX_1hibup_S(ev)','EX_1hibupglu_S(e)','EX_1hibupglu_S(ev)','EX_1hmdgluc(e)','EX_1hmdgluc(ep)','EX_1hmdgluc(ev)','EX_1mncam(e)','EX_1ohmdz(e)','EX_1ohmdz(ep)','EX_21hprgnlone(e)','EX_23camp(e)','EX_23ccmp(e)','EX_23cgmp(e)','EX_23cump(e)','EX_23dappa(e)','EX_23dhbzs3(e)','EX_2425dhvitd2(e)','EX_2425dhvitd3(e)','EX_24nph(e)','EX_25hvitd2(e)','EX_25hvitd3(e)','EX_25HVITD3(u)','EX_2aeppn(e)','EX_2ameph(e)','EX_2ddglcn(e)','EX_2dmmql8(e)','EX_2fuclac(e)','EX_2h3mb(e)','EX_2h3mp(e)','EX_2h3mv(e)','EX_2hatvacid(e)','EX_2hatvacid(eb)','EX_2hatvacid(ep)','EX_2hatvacid(ev)','EX_2hatvacidgluc(e)','EX_2hatvacidgluc(eb)','EX_2hatvlac(e)','EX_2hatvlac(eb)','EX_2hatvlac(ep)','EX_2hatvlac(ev)','EX_2hatvlacgluc(e)','EX_2hatvlacgluc(eb)','EX_2hb(e)','EX_2hibup_R(ev)','EX_2hibup_S(e)','EX_2hibup_S(ev)','EX_2hibupglu_S(e)','EX_2hibupglu_S(ev)','EX_2hiv(e)','EX_2hxic_L(e)','EX_2hyoxplac(e)','EX_2m3hbu(e)','EX_2m3hvac(e)','EX_2mba(e)','EX_2mbal(e)','EX_2mbol(e)','EX_2mbut(e)','EX_2mcit(e)','EX_2mpa(e)','EX_2mpal(e)','EX_2mpol(e)','EX_2oh_cbz_glc(e)','EX_2oh_cbz(e)','EX_2oh_mtz_glc(e)','EX_2oh_mtz(e)','EX_2omfuc(e)','EX_2omxyl(e)','EX_2oxoadp(e)','EX_2pg[e]','EX_2ppoh(e)','EX_2shchc(e)','EX_31dmt(eb)','EX_31dmt(ep)','EX_31dmt(ev)','EX_31dmt(u)','EX_34dhoxmand(e)','EX_34dhoxpeg(e)','EX_34dhpac(e)','EX_34dhpe(c)','EX_34dhpha(e)','EX_34dhphe(e)','EX_34DHPHE(u)','EX_34hpl(e)','EX_34hplac(e)','EX_34hpp','EX_35ccmp(e)','EX_35cgmp(e)','EX_35dhpvs(ep)','EX_35diotyr(e)','EX_35dsmv(eb)','EX_3aib_D(e)','EX_3aib(e)','EX_3amp(e)','EX_3bcrn','EX_3c3hmp(e)','EX_3cmp(e)','EX_3ddcrn','EX_3ddlhept(e)','EX_3deccrn','EX_3dhcdchol(e)','EX_3dhchol(e)','EX_3dhdchol(e)','EX_3dhlchol(e)','EX_3fuclac(e)','EX_3gmp(e)','EX_3h3mglt(e)','EX_3hadpac(e)','EX_3hanthrn[e]','EX_3hcinnm(e)','EX_3hcinnm(u)','EX_3hdececrn','EX_3hexdcrn','EX_3hibup_R(ev)','EX_3hibup_S(e)','EX_3hibup_S(ev)','EX_3hibupglu_S(e)','EX_3hibupglu_S(ev)','EX_3hivac(e)','EX_3hlvstacid(eb)','EX_3hmp(e)','EX_3hphac(e)','EX_3hpp(e)','EX_3hppa(e)','EX_3hppa(u)','EX_3hpppn(e)','EX_3hpppnohgluc(e)','EX_3hpvs(eb)','EX_3hpvs(ep)','EX_3hpvs(ev)','EX_3hpvstet(eb)','EX_3hpvstet(ev)','EX_3hsmvacid(eb)','EX_3ispvs(eb)','EX_3ispvs(ep)','EX_3ispvs(ev)','EX_3ityr_L(e)','EX_3ivcrn','EX_3mba(e)','EX_3mbal(e)','EX_3mbol(e)','EX_3meacmp(e)','EX_3mglutac(e)','EX_3mglutr(e)','EX_3mhis(e)','EX_3mlda(e)','EX_3mob(e)','EX_3mox4hoxm(e)','EX_3moxtyr(e)','EX_3mtp(e)','EX_3octdec2crn','EX_3octdeccrn','EX_3octdece1crn','EX_3oh_cbz_glc(e)','EX_3oh_cbz(e)','EX_3oh_dlor_glc(e)','EX_3oh_dlor(e)','EX_3oh_mdea_glc(e)','EX_3oh_mdea(e)','EX_3oh_mxn_glc(e)','EX_3oh_mxn(e)','EX_3ohacmp(ev)','EX_3ohglutac(e)','EX_3ohsebac(e)','EX_3ohsubac(e)','EX_3pg[e]','EX_3tdcrn','EX_3tetd7ecoacrn','EX_3thexddcoacrn','EX_3ttetddcoacrn','EX_3uib(e)','EX_3ump(e)','EX_4aabutn(e)','EX_4abut(e)','EX_4ABUT(u)','EX_4abutn(e)','EX_4ahmmp(e)','EX_4bhglz(eb)','EX_4bhglz(ev)','EX_4dh_tpno_1glc(e)','EX_4dh_tpno(e)','EX_4glu56dihdind(e)','EX_4hatvacid(eb)','EX_4hatvacid(ep)','EX_4hatvacid(ev)','EX_4hatvlac(eb)','EX_4hatvlac(ep)','EX_4hatvlac(ev)','EX_4hba(e)','EX_4hdebrisoquine(e)','EX_4hmdgluc(e)','EX_4hmdgluc(ev)','EX_4hoxpac(e)','EX_4hoxpacd(e)','EX_4hphac(e)','EX_4hpro(e)','EX_4hpro_LT(e)','EX_4HPRO(u)','EX_4hthr(e)','EX_4mcat(e)','EX_4mhetz(e)','EX_4mop(e)','EX_4mptnl(e)','EX_4mtolbutamide(e)','EX_4nph(e)','EX_4nphsf(e)','EX_4oh_dcf_glc(e)','EX_4oh_dcf(e)','EX_4oh_kp_glc(e)','EX_4oh_kp(e)','EX_4oh_levole_glc(e)','EX_4oh_levole(e)','EX_4oh_meth_glc(e)','EX_4oh_meth(e)','EX_4oh_propl_glc(e)','EX_4oh_propl(e)','EX_4oh_trz_glc(e)','EX_4oh_trz(e)','EX_4oh_vcz_glc(e)','EX_4oh_vcz(e)','EX_4ohbut(e)','EX_4ohmdz(e)','EX_4ohmdz(ev)','EX_4pyrdx(e)','EX_4tmeabutn(e)','EX_56dhpvs(ev)','EX_56dthm(e)','EX_56dura(e)','EX_56eppvs(eb)','EX_56eppvs(ev)','EX_5a2opntn(e)','EX_5adtststerone(e)','EX_5adtststeroneglc(e)','EX_5adtststerones(e)','EX_5aop(e)','EX_5aptn(e)','EX_5asa(e)','EX_5cysdopa(e)','EX_5cysgly34dhphe(e)','EX_5dglcn(e)','EX_5dhf(e)','EX_5eipenc(e)','EX_5fthf(e)','EX_5fura(e)','EX_5g2oxpt(e)','EX_5homeprazole(e)','EX_5hoxindoa[e]','EX_5HPET(e)','EX_5htrp(e)','EX_5mta(e)','EX_5mthf(e)','EX_5mthf(u)','EX_5mtr(e)','EX_5oh_sulfp_glc(e)','EX_5oh_sulfp(e)','EX_5ohfvs(e)','EX_5ohfvs(eb)','EX_5ohfvsglu(e)','EX_5ohfvsglu(ev)','EX_5ohhexa(e)','EX_5oxpro(e)','EX_5thf(e)','EX_6ahglz(eb)','EX_6ahglz(ev)','EX_6bhglz(e)','EX_6bhglz(eb)','EX_6bhglz(ev)','EX_6bhglzglc(e)','EX_6bhglzglc(eb)','EX_6bhglzglc(ev)','EX_6csmvacid(e)','EX_6dhf(e)','EX_6dhpvs(eb)','EX_6epvs(eb)','EX_6epvs(ep)','EX_6epvs(ev)','EX_6hlvst(ep)','EX_6hmsmvacid(eb)','EX_6hoxmelatn(e)','EX_6hsmvacid(eb)','EX_6htststerone(e)','EX_6melvacid(eb)','EX_6melvst(ep)','EX_6ohfvs(e)','EX_6ohfvs(eb)','EX_6ohfvsglu(e)','EX_6ohfvsglu(ev)','EX_6pgc(e)','EX_6thf(e)','EX_7a_czp(e)','EX_7ahglz(eb)','EX_7ahglz(ev)','EX_7bhglz(e)','EX_7bhglz(eb)','EX_7bhglz(ev)','EX_7bhglzglc(e)','EX_7bhglzglc(eb)','EX_7bhglzglc(ev)','EX_7dhcdchol(e)','EX_7dhchol(e)','EX_7dhchsterol(e)','EX_7dhf(e)','EX_7hpvs(eb)','EX_7hpvs(ev)','EX_7klitchol(e)','EX_7ocholate(e)','EX_7oh_efv_glc(e)','EX_7oh_efv(e)','EX_7ohocata(e)','EX_7thf(e)','EX_814dioh_efv_glc(e)','EX_814dioh_efv(e)','EX_8oh_efv_glc(e)','EX_8oh_efv(e)','EX_9_cis_retfa(e)','EX_aact(e)','EX_abt_D(e)','EX_abt(e)','EX_abz_ala_b(e)','EX_ac_amn_b_gly_glc(e)','EX_ac_amn_b_gly(e)','EX_ac5asa(e)','EX_acac(e)','EX_acasp(e)','EX_acerA(e)','EX_acetol(e)','EX_acetone(e)','EX_acgal(e)','EX_acgal1p(e)','EX_acgala(e)','EX_acgalfucgalacgalfuc12gal14acglcgalgluside_hs(e)','EX_acgalfucgalacgalfucgalacglcgal14acglcgalgluside_hs(e)','EX_acgalglcur(e)','EX_acgalidour(e)','EX_acgalidour2s(e)','EX_acgam1p(e)','EX_acglu(e)','EX_acgly(e)','EX_ach(e)','EX_achom_L(e)','EX_acile_L(e)','EX_acisnzd(e)','EX_acleu_L(e)','EX_aclys(e)','EX_acmp_glc(e)','EX_acmp(e)','EX_acmp(ep)','EX_acmp(ev)','EX_acmp(u)','EX_acmpglu(e)','EX_acmpglu(eb)','EX_acmpglu(ep)','EX_acmpglu(ev)','EX_acmpglut(eb)','EX_acmpglut(ep)','EX_acmpglut(u)','EX_acmum(e)','EX_acn13acngalgbside_hs(e)','EX_acn23acngalgbside_hs(e)','EX_acnacngal14acglcgalgluside_hs(e)','EX_acnacngalgbside_hs(e)','EX_acnam2a6agal(e)','EX_acngalacglcgal14acglcgalgluside_hs(e)','EX_acolipa(e)','EX_acon_C(e)','EX_acorn(e)','EX_acrn[e]','EX_acser(e)','EX_acthr_L(e)','EX_actn_R(e)','EX_actn_S(e)','EX_actyr(e)','EX_acysbmn(e)','EX_ad(e)','EX_adchac(e)','EX_adn(u)','EX_adp','EX_adpac(e)','EX_ADPCBL(u)','EX_adpoh(e)','EX_adprbp(e)','EX_adprib(e)','EX_adrn(e)','EX_adrnl(e)','EX_AEP(e)','EX_aflatoxin(e)','EX_ag(e)','EX_agal1b3agal(e)','EX_agal1b6agal(e)','EX_agam1b3agal(e)','EX_agam1b6agal(e)','EX_agm(e)','EX_ahandrostanglc(e)','EX_ahcys(e)','EX_ahdt(e)','EX_aicar(e)','EX_airs(e)','EX_ak2lgchol_hs(e)','EX_ala_B(e)','EX_ala_L(u)','EX_ala-B(u)','EX_ALA-D(u)','EX_alaala(e)','EX_ALAALA(u)','EX_alaargcys(e)','EX_alaarggly(e)','EX_alaasnleu(e)','EX_alaasp(e)','EX_alac_S(e)','EX_alagln(e)','EX_alaglu(e)','EX_alagly(e)','EX_alaglylys(e)','EX_alahis(e)','EX_alahisala(e)','EX_alaile(e)','EX_alaleu(e)','EX_alalys(e)','EX_alalysthr(e)','EX_alathr(e)','EX_alaval(e)','EX_alchac(e)','EX_aldstrn(e)','EX_algin(e)','EX_all_D(e)','EX_allop(ep)','EX_allop(u)','EX_alltn(e)','EX_alltt(e)','EX_alpz_4oh_glc(e)','EX_alpz_4oh(e)','EX_alpz_aoh_glc(e)','EX_alpz_aoh(e)','EX_am14_glc(e)','EX_am14(e)','EX_am19cs(eb)','EX_am19cs(ev)','EX_am1a4ncs(eb)','EX_am1accs(ev)','EX_am1acs(eb)','EX_am1acs(ep)','EX_am1acs(ev)','EX_am1alcs(eb)','EX_am1alcs(ep)','EX_am1c4n9cs(eb)','EX_am1c9cs(eb)','EX_am1c9cs(ev)','EX_am1ccs(e)','EX_am1ccs(eb)','EX_am1ccs(ev)','EX_am1cglc(e)','EX_am1cglc(eb)','EX_am1csa(eb)','EX_am1csa(ep)','EX_am1csa(ev)','EX_am4n9cs(eb)','EX_am4n9cs(ev)','EX_am4ncs(eb)','EX_am4ncs(ep)','EX_am4ncs(ev)','EX_am5_glc(e)','EX_am5(e)','EX_am6_glc(e)','EX_am6(e)','EX_am9csa(eb)','EX_am9csa(ep)','EX_am9csa(ev)','EX_amannan140(e)','EX_ametam(e)','EX_amio_c_glc(e)','EX_amio_c(e)','EX_amio_glc(e)','EX_amio(e)','EX_amn_b_gly_glc(e)','EX_amn_b_gly(e)','EX_amntd_m6_glc(e)','EX_amntd_m6(e)','EX_amob(e)','EX_AMP(u)','EX_amylopect900(e)','EX_amylose300(e)','EX_amylose300(u)','EX_and19one(e)','EX_andrstandn(e)','EX_andrstndn(e)','EX_andrstrn(e)','EX_andrstrnglc(e)','EX_anhgm(e)','EX_anth(e)','EX_antipyrene(e)','EX_anzp(e)','EX_apio-D(e)','EX_apnnox(e)','EX_appnn(e)','EX_aprgstrn(e)','EX_aprut(e)','EX_aqcobal(e)','EX_arabinan101(e)','EX_arabinogal(e)','EX_arabinogal(u)','EX_arabinoxyl(e)','EX_arabttr(e)','EX_arach(e)','EX_arach(u)','EX_arachcoa(e)','EX_ARACHD(u)','EX_aracheth(e)','EX_arbt(e)','EX_arbtn_fe3(e)','EX_arbtn(e)','EX_arg_D(e)','EX_ARG-L(u)','EX_argalaala(e)','EX_argalaphe(e)','EX_argalathr(e)','EX_argarg(e)','EX_argarglys(e)','EX_argargmet(e)','EX_argcysgly(e)','EX_argcysser(e)','EX_arggluglu(e)','EX_argglupro(e)','EX_argglygly(e)','EX_arghisthr(e)','EX_argleuphe(e)','EX_arglysasp(e)','EX_argp(e)','EX_argphearg(e)','EX_argpromet(e)','EX_argprothr(e)','EX_argserser(e)','EX_argsuc[e]','EX_argtyrval(e)','EX_argvalcys(e)','EX_argvaltrp(e)','EX_arsenb(e)','EX_ascb_L(e)','EX_ASCB-L(u)','EX_asn_L(u)','EX_Asn_X_Ser_Thr(e)','EX_asn-L(e)_II','EX_asnasnarg(e)','EX_asncyscys(e)','EX_asnmetpro(e)','EX_asnpheasp(e)','EX_asnphecys(e)','EX_asntyrgly(e)','EX_asntyrphe(e)','EX_asntyrthr(e)','EX_aso3(e)','EX_aso4(e)','EX_asp_D(e)','EX_asp_L(e)_II','EX_ASP-D(u)','EX_ASP-L(u)','EX_aspalaarg(e)','EX_aspasnglu(e)','EX_aspglu(e)','EX_aspglupro(e)','EX_aspglutrp(e)','EX_asphiscys(e)','EX_asphispro(e)','EX_asplysglu(e)','EX_asplyshis(e)','EX_aspmetasp(e)','EX_aspprolys(e)','EX_aspvalasn(e)','EX_atp(e)','EX_atp(u)','EX_atvacid(e)','EX_atvacid(eb)','EX_atvacid(ep)','EX_atvacid(ev)','EX_atvacid(u)','EX_atvacylgluc(e)','EX_atvethgluc(e)','EX_atvlac(e)','EX_atvlac(eb)','EX_atvlac(ep)','EX_atvlac(ev)','EX_atvlacgluc(e)','EX_avite1(e)','EX_AVITE1(u)','EX_avite2(e)','EX_bglc(e)','EX_BGLC(u)','EX_bgly(e)','EX_bhb(e)','EX_bhpm_glc(e)','EX_bhpm(e)','EX_bildglcur(e)','EX_bildglcur(u)','EX_bilglcur(e)','EX_bilglcur(u)','EX_bilirub(e)','EX_biliverd(e)','EX_bilr_355(e)','EX_bilr_M10(e)','EX_bilr_M12(e)','EX_bilr_M14(e)','EX_bilr_M15(e)','EX_bilr_M16(e)','EX_bilr_M7(e)','EX_biocyt(e)','EX_biomass(e)','EX_bmn(e)','EX_bocbnleu(e)','EX_brt(e)','EX_brv(e)','EX_bsn_glc(e)','EX_bsn(e)','EX_btd_RR(e)','EX_BTN(u)','EX_btoh(e)','EX_but(e)','EX_butam(e)','EX_butso3(e)','EX_bvite(e)','EX_bvu(e)','EX_bz_glc(e)','EX_bz(e)','EX_bz(u)','EX_bzal(e)','EX_bzam(e)','EX_bzd(e)','EX_C01659(e)','EX_C02356(e)','EX_C02470(e)','EX_C02528(e)','EX_C02712(e)','EX_C04805(e)','EX_C04849(e)','EX_C05298(e)','EX_C05299(e)','EX_C05300(e)','EX_C05301(e)','EX_C05302(e)','EX_C05767(e)','EX_C05770(e)','EX_C05957(e)','EX_C05965(e)','EX_C06314(e)','EX_C06315(e)','EX_C09642(e)','EX_C10164(e)','EX_c101crn','EX_c10crn','EX_c10dc','EX_C11695(e)','EX_c12dc','EX_C14768(e)','EX_C14769(e)','EX_C14770(e)','EX_C14771(e)','EX_C14825(e)','EX_C14826(e)','EX_c16dc','EX_c3dc','EX_c4crn','EX_c4dc','EX_c51crn','EX_c5dc','EX_c6crn','EX_c6dc','EX_c81crn','EX_c8crn','EX_c8dc','EX_ca24g(e)','EX_ca3s(e)','EX_cala[e]','EX_camp(e)','EX_caribup_R(ev)','EX_caribup_s(e)','EX_caribup_s(ev)','EX_caribupglu_S(e)','EX_caribupglu_S(ev)','EX_carn(e)','EX_CARN(u)','EX_caro(e)','EX_carveol(e)','EX_cbasp(e)','EX_cbi(e)','EX_cbl2(e)','EX_cbl3(e)','EX_cbp(e)','EX_cbz_glc(e)','EX_cbz(e)','EX_cca_d3(e)','EX_cd2(e)','EX_cd6168_glc(e)','EX_cd6168(e)','EX_cdca24g(e)','EX_cdca3g(e)','EX_cdca3s(e)','EX_cdp(e)','EX_cdpea(e)','EX_CE0074(e)','EX_CE0328(e)','EX_CE0737(e)','EX_CE0955(e)','EX_CE1243(e)','EX_CE1261(e)','EX_CE1273(e)','EX_CE1310(e)','EX_CE1401(e)','EX_CE1447(e)','EX_CE1554(e)','EX_CE1557(e)','EX_CE1617(e)','EX_CE1918(e)','EX_CE1925(e)','EX_CE1926(e)','EX_CE1935(e)','EX_CE1936(e)','EX_CE1939(e)','EX_CE1940(e)','EX_CE1943(e)','EX_CE1950(e)','EX_CE2011(e)','EX_CE2026(e)','EX_CE2028(e)','EX_CE2047(e)','EX_CE2049(e)','EX_CE2172(e)','EX_CE2176(e)','EX_CE2209(e)','EX_CE2250(e)','EX_CE2345(e)','EX_CE2445(e)','EX_CE2510(e)','EX_CE2512(e)','EX_CE2516(e)','EX_CE2705(e)','EX_CE2838(e)','EX_CE2839(e)','EX_CE2915(e)','EX_CE2916(e)','EX_CE2917(e)','EX_CE2934(e)','EX_CE4633(e)','EX_CE4722(e)','EX_CE4723(e)','EX_CE4724(e)','EX_CE4843(e)','EX_CE4877(e)','EX_CE4881(e)','EX_CE4890(e)','EX_CE4968(e)','EX_CE4969(e)','EX_CE4970(e)','EX_CE5025(e)','EX_CE5026(e)','EX_CE5304(e)','EX_CE5629(e)','EX_CE5786(e)','EX_CE5787(e)','EX_CE5788(e)','EX_CE5789(e)','EX_CE5791(e)','EX_CE5797(e)','EX_CE5798(e)','EX_CE5853(e)','EX_CE5854(e)','EX_CE5867(e)','EX_CE5868(e)','EX_CE5869(e)','EX_CE6031(e)','EX_CE6205(e)','EX_CE6247(e)','EX_CE7082(e)','EX_CE7083(e)','EX_CE7085(e)','EX_CE7096(e)','EX_CE7172(e)','EX_cellttr(e)','EX_cellul(e)','EX_ch4(e)','EX_ch4s(e)','EX_chitin(e)','EX_chitob(e)','EX_chlphncl_glc(e)','EX_chlphncl(e)','EX_chol(u)','EX_cholate(e)','EX_cholate(u)','EX_cholp[e]','EX_chols(e)','EX_chsterol(u)','EX_chsterols(e)','EX_chtbs(e)','EX_chtn(e)','EX_cinnm(e)','EX_Cit_Mg(e)','EX_citr_L(e)','EX_cl(u)','EX_clcxb_c_glc(e)','EX_clcxb_c(e)','EX_clcxb_glc(e)','EX_clcxb(e)','EX_clobi_c(e)','EX_clobi_glc(e)','EX_CLPND(e)','EX_cmp(e)','EX_cmpacna(e)','EX_co(e)','EX_co2(e)','EX_coa(e)','EX_coa(u)','EX_coke(e)','EX_colipa(e)','EX_colipa20Oag(e)','EX_colipaOA(e)','EX_coprost(e)','EX_core2_rl(e)','EX_core2(e)','EX_core3(e)','EX_core4_rl(e)','EX_core4(e)','EX_core5(e)','EX_core6(e)','EX_core7(e)','EX_core8(e)','EX_cortsn(e)','EX_coumarin(e)','EX_cpgn_un(e)','EX_cpgn(e)','EX_cps_bt(e)','EX_cps_fp(e)','EX_creat(e)','EX_crglz(eb)','EX_crglz(ev)','EX_crm_hs(e)','EX_crmp_hs(e)','EX_crn(e)','EX_crn(u)','EX_cro4(e)','EX_crtn[e]','EX_crtsl(e)','EX_crtstrn(e)','EX_crvnc(e)','EX_crvs(eb)','EX_crvs(ep)','EX_crvs(u)','EX_crvsm1(e)','EX_crvsm1(eb)','EX_crvsm1(ev)','EX_crvsm23(e)','EX_crvsm23(eb)','EX_crvsm23(ev)','EX_crvsm24(eb)','EX_crvsm24(ev)','EX_csa(ep)','EX_csa(u)','EX_csasulp(eb)','EX_csasulp(ev)','EX_cspg_a_degr(e)','EX_cspg_a(e)','EX_cspg_ab_rest(e)','EX_cspg_b_degr(e)','EX_cspg_b(e)','EX_cspg_c_degr(e)','EX_cspg_c_rest(e)','EX_cspg_c(e)','EX_cspg_d(e)','EX_cspg_e(e)','EX_ctbt(e)','EX_ctp(e)','EX_cu(e)','EX_cvm1gluc(e)','EX_cvm23gluc(e)','EX_cyan(e)','EX_cynt(e)','EX_cys_D(e)','EX_cys_L(u)','EX_cysacmp(ev)','EX_cysam(e)','EX_cysam(u)','EX_cysasnmet(e)','EX_cysaspphe(e)','EX_cyscys(e)','EX_cysglnmet(e)','EX_cysgluhis(e)','EX_cysglutrp(e)','EX_cysi_L(e)','EX_cysleuthr(e)','EX_cyssermet(e)','EX_cyst_L[e]','EX_cystyrasn(e)','EX_cytcox(e)','EX_cytcr(e)','EX_cytd(u)','EX_czp(e)','EX_daa_glc(e)','EX_daa(e)','EX_dad_2(u)','EX_dad-5(e)','EX_dag_hs(e)','EX_dag_hs(u)','EX_damp(e)','EX_datp(e)','EX_db4p(e)','EX_dca(e)','EX_dca24g(e)','EX_dca3g(e)','EX_dca3s(e)','EX_dcf_glc(e)','EX_dcf(e)','EX_dchac(e)','EX_DCHAC(u)','EX_dcmp[e]','EX_dcsptn1(e)','EX_dctp(e)','EX_dcyt(u)','EX_ddea_glc(e)','EX_ddea(e)','EX_ddece1crn','EX_ddecrn','EX_debrisoquine(e)','EX_decdicrn','EX_dem2emgacpail_prot_hs(e)','EX_deoxfvs(ev)','EX_des_astzl_glc(e)','EX_des_astzl(e)','EX_desfvs(eb)','EX_dextran40(e)','EX_dextran40(u)','EX_dextrin(e)','EX_dfdcytd(e)','EX_dfduri(e)','EX_dgchol(e)','EX_dgmp(e)','EX_dgpi_prot_hs(e)','EX_dgsn(u)','EX_dgtp(e)','EX_dh5fura(e)','EX_dha(e)','EX_dhap(e)','EX_dhbpt(e)','EX_dhcholestanate(e)','EX_dhcinnm(e)','EX_dhdascb(e)','EX_dhdascb(u)','EX_DHDPACOA_E','EX_dhea(e)','EX_dheas(e)','EX_dhf(e)','EX_dhglz(eb)','EX_dhglz(ev)','EX_dhna(e)','EX_dhnacoa(e)','EX_dhor_S(e)','EX_dhpppn(e)','EX_dhptd(e)','EX_diact(e)','EX_didecaeth(e)','EX_digalsgalside_hs(e)','EX_digitoxin(e)','EX_digoxin_glc(e)','EX_digoxin(e)','EX_diholineth(e)','EX_dihydro_digitoxin(e)','EX_dihydro_digoxin(e)','EX_dimp(e)','EX_din(e)','EX_din(u)','EX_dlb_glc(e)','EX_dlb(e)','EX_dlnlcg(e)','EX_dma(e)','EX_dmantipyrine(e)','EX_dmgly[e]','EX_dmhptcrn(e)','EX_dms(e)','EX_dmso(e)','EX_dnpz_5des(e)','EX_dnpz_6des(e)','EX_dnpz_m11(e)','EX_dnpz_m12(e)','EX_dnpz_m13(e)','EX_dnpz_m14(e)','EX_dnpz_m9(e)','EX_doco13ac','EX_docohxeth(e)','EX_docosac','EX_docosdiac','EX_docteteth(e)','EX_dodecanac(e)','EX_doh_etr_glc(e)','EX_doh_etr(e)','EX_doh_vcz_glc(e)','EX_doh_vcz(e)','EX_dopa(e)','EX_dopa3glcur(e)','EX_dopa4glcur(e)','EX_dopa4sf(e)','EX_dopasf(e)','EX_dpcoa(e)','EX_dpcoa(u)','EX_dsmsterol(e)','EX_dspvs(eb)','EX_dspvs(ev)','EX_dsT_antigen_rl(e)','EX_dsT_antigen(e)','EX_dt5hsu(e)','EX_dtdp(e)','EX_dtmp(e)','EX_dttp(e)','EX_dump(e)','EX_duri(u)','EX_dxo_glc(e)','EX_dxo(e)','EX_dxtrn(e)','EX_dxyl(e)','EX_eaflatoxin(e)','EX_eandrstrn(e)','EX_ebastine(e)','EX_ebastineoh(e)','EX_eca4colipa(e)','EX_efv_glc(e)','EX_efv(e)','EX_egme(e)','EX_eic21114tr(e)','EX_eicostet(e)','EX_elaid(e)','EX_elaidcrn(e)','EX_eltr_glc(e)','EX_eltr_m3(e)','EX_eltr_m4(e)','EX_eltr(e)','EX_enlipa(e)','EX_enter(e)','EX_epoxtac(eb)','EX_epoxtac(ev)','EX_estradiol(e)','EX_estradiolglc(e)','EX_estriol(e)','EX_estriolglc(e)','EX_estrone(e)','EX_estroneglc(e)','EX_estrones(e)','EX_etha(e)','EX_ethamp[e]','EX_ethmalac(e)','EX_ethrtl(e)','EX_ethso3(e)','EX_eztmb_glc(e)','EX_eztmb(e)','EX_f1a_rl(e)','EX_f1a(e)','EX_f6p(e)','EX_fad(e)','EX_FAD(u)','EX_fcsn(e)','EX_fdp(e)','EX_fe2(u)','EX_fe3dhbzs(e)','EX_fe3dhbzs3(e)','EX_fe3hox_un(e)','EX_fe3hox(e)','EX_fecrm_un(e)','EX_fecrm(e)','EX_feenter(e)','EX_feoxam_un(e)','EX_feoxam(e)','EX_feroxB(e)','EX_feroxBfe(e)','EX_feroxE(e)','EX_feroxEfe(e)','EX_feroxG(e)','EX_feroxGfe(e)','EX_fmn(e)','EX_fmn(u)','EX_fna5moxam(e)','EX_foam(e)','EX_fol(u)','EX_forglu(e)','EX_fru(u)','EX_frulys(e)','EX_fruur(e)','EX_fuc13galacglcgal14acglcgalgluside_hs(e)','EX_fuc14galacglcgalgluside_hs(e)','EX_fuc1p_L(e)','EX_fucacgalfucgalacglcgalgluside_hs(e)','EX_fucacngal14acglcgalgluside_hs(e)','EX_fucacngalacglcgalgluside_hs(e)','EX_fucfuc12gal14acglcgalgluside_hs(e)','EX_fucfuc132galacglcgal14acglcgalgluside_hs(e)','EX_fucfucfucgalacglc13galacglcgal14acglcgalgluside_hs(e)','EX_fucfucfucgalacglcgal14acglcgalgluside_hs(e)','EX_fucfucgalacglcgalgluside_hs(e)','EX_fucgal14acglcgalgluside_hs(e)','EX_fucgalfucgalacglcgalgluside_hs(e)','EX_fucgalgbside_hs(e)','EX_fucneulacnhx(e)','EX_fvs(e)','EX_fvs(eb)','EX_fvs(ep)','EX_fvs(ev)','EX_fvs(u)','EX_fvsgluc(e)','EX_fvstet(e)','EX_fvstet(ev)','EX_fvstetglu(e)','EX_fvstetglu(ev)','EX_g1p(e)','EX_g3pc[e]','EX_g3pe(e)','EX_g3pg(e)','EX_g3pi(e)','EX_g3ps(e)','EX_g6p(e)','EX_ga1_hs(e)','EX_gal_bD(e)','EX_gal(u)','EX_gal1a3acgal(e)','EX_gal1b3acgal(e)','EX_gal1p(e)','EX_galacglcgalgbside_hs(e)','EX_galactan(e)','EX_galam(e)','EX_galct_D(e)','EX_galctn_D(e)','EX_galctn_L(e)','EX_galfuc12gal14acglcgalgluside_hs(e)','EX_galfucgalacglcgal14acglcgalgluside_hs(e)','EX_galgalfucfucgalacglcgalacglcgal14acglcgalgluside_hs(e)','EX_galgalgalthcrm_hs(e)','EX_galgluside_hs(e)','EX_galmannan(e)','EX_galside_hs(e)','EX_galt(e)','EX_galur(e)','EX_gam(u)','EX_gam26s(e)','EX_gam6p(e)','EX_gbbtn(e)','EX_gbside_hs(e)','EX_gca3s(e)','EX_gcald(e)','EX_gcdca3s(e)','EX_gchola(e)','EX_GCHOLA(u)','EX_gd1a_hs(e)','EX_gd1b_hs(e)','EX_gd1b2_hs(e)','EX_gd1c_hs(e)','EX_gd2_hs(e)','EX_gd3_hs(e)','EX_gdca3s(e)','EX_gdchola(e)','EX_gdp(e)','EX_glc_D(u)','EX_glc3meacp(e)','EX_glc3meacp(ev)','EX_glcmannan(e)','EX_glcn_D(e)','EX_glcr(e)','EX_glctnb(e)','EX_glcur(e)','EX_glcur1p(e)','EX_glgchlo(e)','EX_GLGCHLO(u)','EX_gln_L(u)','EX_glnasngln(e)','EX_glnhishis(e)','EX_glnhislys(e)','EX_glnlyslys(e)','EX_glnlystrp(e)','EX_glnproglu(e)','EX_glntrpglu(e)','EX_glntyrleu(e)','EX_gltcho(e)','EX_GLTCHO(u)','EX_gltdechol(e)','EX_GLTDECHOL(u)','EX_gltmn_glc(e)','EX_gltmn(e)','EX_GLU-L(u)','EX_gluala(e)','EX_gluargleu(e)','EX_gluasnleu(e)','EX_glucys(e)','EX_gluglu(e)','EX_gluilelys(e)','EX_gluleu(e)','EX_glumet(e)','EX_glumethis(e)','EX_gluside_hs(e)','EX_glutar(e)','EX_glutcon(e)','EX_gluthr(e)','EX_gluthrlys(e)','EX_glutrpala(e)','EX_glx(e)','EX_gly(e)_II','EX_gly(u)','EX_glyald[e]','EX_glyasn(e)','EX_glyasp(e)','EX_glyb(e)','EX_glyc_R(e)','EX_glyc_S(e)','EX_glyc(u)','EX_glyc2p(e)','EX_glyclt(e)','EX_glycogen(e)','EX_glycogen1500(e)','EX_glycogenb(e)','EX_glycys(e)','EX_glygln(e)','EX_glyglu(e)','EX_glygly(e)','EX_GLYGLY(u)','EX_glygn2(e)','EX_GLYGN2(u)','EX_glygn4(e)','EX_glygn4(u)','EX_glygn5(e)','EX_glygn5(u)','EX_glyhisasn(e)','EX_glyhislys(e)','EX_glyleu(e)','EX_GLYLEU(u)','EX_glylyscys(e)','EX_glylysphe(e)','EX_glymet(e)','EX_glyphe(e)','EX_GLYPHE(u)','EX_glypro(e)','EX_GLYPRO(u)','EX_glysar(e)','EX_GLYSAR(u)','EX_glytyr(e)','EX_glytyrlys(e)','EX_glyvalhis(e)','EX_glz(eb)','EX_glz(ep)','EX_glz(ev)','EX_glz(u)','EX_gm1_hs(e)','EX_gm1b_hs(e)','EX_gm2_hs(e)','EX_gm3_hs(e)','EX_gmfl_glc(e)','EX_gmfl_mI_glc(e)','EX_gmfl_mI(e)','EX_gmfl_mII_glc(e)','EX_gmfl_mII(e)','EX_gmfl_mIII_glc(e)','EX_gmfl_mIII(e)','EX_gmfl(e)','EX_gmp(e)','EX_gncore1_rl(e)','EX_gncore1(e)','EX_gncore2_rl(e)','EX_gncore2(e)','EX_gp1c_hs(e)','EX_gp1calpha_hs(e)','EX_gpi_sig(e)','EX_gq1b_hs(e)','EX_gq1balpha_hs(e)','EX_gsn(u)','EX_gt1a_hs(e)','EX_gt1b_hs(e)','EX_gtacmp(e)','EX_gtacmp(ev)','EX_gtp(e)','EX_gudac[e]','EX_gudca3s(e)','EX_guln_L(e)','EX_gulur(e)','EX_gum(e)','EX_GUM(u)','EX_gumdchac(e)','EX_GUMDCHAC(u)','EX_gumgchol(e)','EX_GUMGCHOL(u)','EX_gumtchol(e)','EX_GUMTCHOL(u)','EX_h(u)','EX_h2co3(e)','EX_H2O(u)','EX_h2o2(e)','EX_ha_deg1(e)','EX_ha_pre1(e)','EX_ha(e)','EX_hacolipa(e)','EX_halipa(e)','EX_HC00001(e)','EX_HC00002(e)','EX_HC00003(e)','EX_HC00004(e)','EX_HC00005(e)','EX_HC00006(e)','EX_HC00007(e)','EX_HC00008(e)','EX_HC00009(e)','EX_HC00079(e)','EX_HC00229(e)','EX_HC00250(e)','EX_HC00319(e)','EX_HC00342(e)','EX_HC00822(e)','EX_HC00900(e)','EX_HC00955(e)','EX_HC01104(e)','EX_HC01361(e)','EX_HC01440(e)','EX_HC01441(e)','EX_HC01444(e)','EX_HC01446(e)','EX_HC01577(e)','EX_HC01609(e)','EX_HC01610(e)','EX_HC01700(e)','EX_HC01787(e)','EX_HC01852(e)','EX_HC01939(e)','EX_HC01942(e)','EX_HC01943(e)','EX_HC01944(e)','EX_HC01971(e)','EX_HC02008(e)','EX_HC02020(e)','EX_HC02154(e)','EX_HC02160(e)','EX_HC02161(e)','EX_HC02172(e)','EX_HC02175(e)','EX_HC02176(e)','EX_HC02179(e)','EX_HC02180(e)','EX_HC02187(e)','EX_HC02191(e)','EX_HC02192(e)','EX_HC02193(e)','EX_HC02194(e)','EX_HC02195(e)','EX_HC02196(e)','EX_HC02197(e)','EX_HC02198(e)','EX_HC02199(e)','EX_HC02200(e)','EX_HC02201(e)','EX_HC02202(e)','EX_HC02203(e)','EX_HC02204(e)','EX_HC02205(e)','EX_HC02206(e)','EX_HC02207(e)','EX_HC02208(e)','EX_HC02210(e)','EX_HC02213(e)','EX_HC02214(e)','EX_HC02216(e)','EX_HC02217(e)','EX_HC02220(e)','EX_hca24g(e)','EX_hca6g(e)','EX_hco3(e)','EX_hcoumarin(e)','EX_hcys_L[e]','EX_HDCA(u)','EX_hdca24g(e)','EX_hdca6g(e)','EX_hdcea(u)','EX_hdcecrn[e]','EX_hdd2crn(e)','EX_hdl_hs(e)','EX_hepdeceth(e)','EX_hestratriol(e)','EX_hexa(e)','EX_hexc(e)','EX_hexdeceeth(e)','EX_hexdiac(e)','EX_hexdtr(e)','EX_hexgly(e)','EX_hexs(e)','EX_hg100(e)','EX_hg2(e)','EX_hgentis(e)','EX_his_L(u)','EX_hisargcys(e)','EX_hisargser(e)','EX_hisasp(e)','EX_hiscyscys(e)','EX_hisglnala(e)','EX_hisglu(e)','EX_hisglugln(e)','EX_hisglylys(e)','EX_hishislys(e)','EX_hislysala(e)','EX_hislysglu(e)','EX_hislysile(e)','EX_hislysthr(e)','EX_hislysval(e)','EX_hismet(e)','EX_hismetgln(e)','EX_hisphearg(e)','EX_hisprolys(e)','EX_hista(e)','EX_histrphis(e)','EX_hLkynr[e]','EX_hmcarn(e)','EX_hmcr(e)','EX_hmfurn','EX_homogal(e)','EX_homoval(e)','EX_hpdca(e)','EX_hpdece(e)','EX_hretn(e)','EX_hspg_degr_1(e)','EX_hspg_degr_10(e)','EX_hspg_degr_11(e)','EX_hspg_degr_12(e)','EX_hspg_degr_13(e)','EX_hspg_degr_14(e)','EX_hspg_degr_15(e)','EX_hspg_degr_2(e)','EX_hspg_degr_3(e)','EX_hspg_degr_4(e)','EX_hspg_degr_5(e)','EX_hspg_degr_6(e)','EX_hspg_degr_7(e)','EX_hspg_degr_8(e)','EX_hspg_degr_9(e)','EX_hspg_rest(e)','EX_hspg(e)','EX_hst_3_glc(e)','EX_hst_3_s(e)','EX_hst_37_diglc(e)','EX_hst_3glc_7s(e)','EX_hst_7_glc(e)','EX_hst_7_s(e)','EX_hst_7glc_3s(e)','EX_hst(e)','EX_htaxol(e)','EX_hxa(e)','EX_hxcoa(e)','EX_hyochol(e)','EX_hyptaur(e)','EX_hyptaur(u)','EX_i(e)','EX_ibup_R(ep)','EX_ibup_R(u)','EX_ibup_S(e)','EX_ibup_S(eb)','EX_ibup_S(ep)','EX_ibup_S(ev)','EX_ibup_S(u)','EX_ibupgluc(e)','EX_ibupgluc(ep)','EX_ibupgluc(ev)','EX_icdchol(e)','EX_ichor(e)','EX_icit[e]','EX_id3acald(e)','EX_idl_hs(e)','EX_idon_L(e)','EX_idour(e)','EX_idp(e)','EX_ILE-L(u)','EX_ileargile(e)','EX_ileasnhis(e)','EX_ileasp(e)','EX_ileglnglu(e)','EX_ileglyarg(e)','EX_ileprolys(e)','EX_ileserarg(e)','EX_iletrptyr(e)','EX_im4ac(e)','EX_imlac(e)','EX_imn_glc(e)','EX_imn(e)','EX_imp(e)','EX_ind3ac(e)','EX_ind3ppa(e)','EX_indlac(e)','EX_indole(u)','EX_indpyr(e)','EX_inds(e)','EX_inost(e)','EX_ins(u)','EX_inulin(e)','EX_inv_m1(e)','EX_inv(e)','EX_isetac(e)','EX_isnzd(e)','EX_isobut(e)','EX_isocapr(e)','EX_isochol(e)','EX_isolvstacid(eb)','EX_isomal(e)','EX_isoprene(e)','EX_isosorbide_5mn_glc(e)','EX_isosorbide_5mn(e)','EX_isoval(e)','EX_itp(e)','EX_ivcrn','EX_K(u)','EX_kdn(e)','EX_kdo(e)','EX_kdo2lipid4(e)','EX_kesto(e)','EX_kestopt(e)','EX_kestottr(e)','EX_kprofen_glc(e)','EX_kprofen(e)','EX_ksi_deg1(e)','EX_ksi(e)','EX_ksii_core2(e)','EX_ksii_core4(e)','EX_kynate[e]','EX_L2aadp[e]','EX_l2n2m2mn(e)','EX_lac_D(e)','EX_LAC-L(u)','EX_lacdfucttr(e)','EX_lacndfuchx(e)','EX_lacnfucpt(e)','EX_lacnnttr(e)','EX_lacnttr(e)','EX_lactl(e)','EX_LalaDgluMdap(e)','EX_LalaDgluMdapDala(e)','EX_lald_L(e)','EX_lca24g(e)','EX_lca3g(e)','EX_lca3s(e)','EX_lctnb(e)','EX_LCTS(u)','EX_Lcyst(e)','EX_Lcystin(e)','EX_LCYSTIN(u)','EX_ldl_hs(e)','EX_leu_L(u)','EX_leualaarg(e)','EX_leuasnasp(e)','EX_leuasplys(e)','EX_leugly(e)','EX_LEUGLY(u)','EX_leuktrA4(e)','EX_leuktrB4(e)','EX_leuktrB4wcooh(e)','EX_leuktrB4woh(e)','EX_leuktrC4(e)','EX_leuktrD4(e)','EX_leuktrE4(e)','EX_leuktrF4(e)','EX_leuleu(e)','EX_LEULEU(u)','EX_leuleutrp(e)','EX_leupro(e)','EX_leuproarg(e)','EX_leusertrp(e)','EX_leutrp(e)','EX_leutrparg(e)','EX_leutyrtyr(e)','EX_leuval(e)','EX_levan1000(e)','EX_levan1000(u)','EX_levanb(e)','EX_levanttr(e)','EX_levantttr(e)','EX_lgnc(e)','EX_Lhcystin(e)','EX_lichn(e)','EX_limnen(e)','EX_lineth(e)','EX_lipa_cold(e)','EX_lipa(e)','EX_lipoate(e)','EX_Lkynr[e]','EX_lmn2(e)','EX_lmn30(e)','EX_lmn30(u)','EX_lneldc(e)','EX_lneldccrn[e]','EX_LNLC(u)','EX_lnlccrn(e)','EX_LNLNCA(u)','EX_LNLNCG(u)','EX_lpchol_hs(e)','EX_lpchol_hs(u)','EX_Lpipecol(e)','EX_lps_bt(e)','EX_lst4exp(e)','EX_lst4exp(ep)','EX_lst4exp(ev)','EX_lstn(e)','EX_lstn(eb)','EX_lstn(ep)','EX_lstn(ev)','EX_lstn(u)','EX_lstn1gluc(e)','EX_lstn1gluc(ev)','EX_lstnm1(ev)','EX_lstnm2(ev)','EX_lstnm4(e)','EX_lstnm4(ev)','EX_lstnm5(ev)','EX_lstnm7(e)','EX_lstnm7(ep)','EX_lstnm7(ev)','EX_lthstrl(e)','EX_lvst(ep)','EX_lvst(ev)','EX_lvst(u)','EX_LYS(u)','EX_lysargleu(e)','EX_lyscyshis(e)','EX_lysglnphe(e)','EX_lysgluglu(e)','EX_lyslyslys(e)','EX_lyspheile(e)','EX_lystrparg(e)','EX_lystyrile(e)','EX_lysvalphe(e)','EX_lysvaltrp(e)','EX_lyx_L(e)','EX_M01989(e)','EX_M03134(e)','EX_m2mn(e)','EX_m3gacpail_prot_hs(e)','EX_mag_hs(e)','EX_mag_hs(u)','EX_magarachi_hs(e)','EX_maglinl_hs(e)','EX_magole_hs(e)','EX_magpalm_hs(e)','EX_magste_hs(e)','EX_mal_D(e)','EX_malcoa(e)','EX_malon(e)','EX_malt(u)','EX_malthp(e)','EX_malthx(e)','EX_maltpt(e)','EX_malttr(e)','EX_maltttr(e)','EX_man(u)','EX_man1p(e)','EX_man6p(e)','EX_manb(e)','EX_manglyc(e)','EX_mannan(e)','EX_mannur(e)','EX_manpt(e)','EX_manpt(u)','EX_mantr(e)','EX_manttr(e)','EX_mdz_glc(e)','EX_mdz(e)','EX_mdz(ep)','EX_mdz(ev)','EX_mdz(u)','EX_mdzglc(e)','EX_mdzglc(ev)','EX_melanin(e)','EX_melatn(e)','EX_mem2emgacpail_prot_hs(e)','EX_mepi(e)','EX_meracmp(ep)','EX_meracmp(ev)','EX_mercplaccys(e)','EX_met_D(e)','EX_MET-L(u)','EX_metala(e)','EX_metargleu(e)','EX_metasntyr(e)','EX_metglntyr(e)','EX_metglyarg(e)','EX_methal(e)','EX_methislys(e)','EX_methsucc(e)','EX_metmetile(e)','EX_metphearg(e)','EX_metsox_R_L(e)','EX_mettrpphe(e)','EX_mev_R(e)','EX_MGlcn10_rl(e)','EX_MGlcn10(e)','EX_MGlcn100_rl(e)','EX_MGlcn100(e)','EX_MGlcn101_rl(e)','EX_MGlcn101(e)','EX_MGlcn102_rl(e)','EX_MGlcn102(e)','EX_MGlcn103_rl(e)','EX_MGlcn103(e)','EX_MGlcn104_rl(e)','EX_MGlcn104(e)','EX_MGlcn105_rl(e)','EX_MGlcn105(e)','EX_MGlcn106_rl(e)','EX_MGlcn106(e)','EX_MGlcn107_rl(e)','EX_MGlcn107(e)','EX_MGlcn108_rl(e)','EX_MGlcn108(e)','EX_MGlcn109_rl(e)','EX_MGlcn109(e)','EX_MGlcn110_rl(e)','EX_MGlcn110(e)','EX_MGlcn111_rl(e)','EX_MGlcn111(e)','EX_MGlcn112_rl(e)','EX_MGlcn112(e)','EX_MGlcn113_rl(e)','EX_MGlcn113(e)','EX_MGlcn114_rl(e)','EX_MGlcn114(e)','EX_MGlcn115_rl(e)','EX_MGlcn115(e)','EX_MGlcn116_rl(e)','EX_MGlcn116(e)','EX_MGlcn117_rl(e)','EX_MGlcn117(e)','EX_MGlcn118_rl(e)','EX_MGlcn118(e)','EX_MGlcn119_rl(e)','EX_MGlcn119(e)','EX_MGlcn12_rl(e)','EX_MGlcn12(e)','EX_MGlcn120_rl(e)','EX_MGlcn120(e)','EX_MGlcn121_rl(e)','EX_MGlcn121(e)','EX_MGlcn122_rl(e)','EX_MGlcn122(e)','EX_MGlcn123_rl(e)','EX_MGlcn123(e)','EX_MGlcn124_rl(e)','EX_MGlcn124(e)','EX_MGlcn126_rl(e)','EX_MGlcn126(e)','EX_MGlcn127_rl(e)','EX_MGlcn127(e)','EX_MGlcn128_rl(e)','EX_MGlcn128(e)','EX_MGlcn129_rl(e)','EX_MGlcn129(e)','EX_MGlcn13_rl(e)','EX_MGlcn13(e)','EX_MGlcn130_rl(e)','EX_MGlcn130(e)','EX_MGlcn131_rl(e)','EX_MGlcn131(e)','EX_MGlcn132_rl(e)','EX_MGlcn132(e)','EX_MGlcn133_rl(e)','EX_MGlcn133(e)','EX_MGlcn134_rl(e)','EX_MGlcn134(e)','EX_MGlcn135_rl(e)','EX_MGlcn135(e)','EX_MGlcn136_rl(e)','EX_MGlcn136(e)','EX_MGlcn137_rl(e)','EX_MGlcn137(e)','EX_MGlcn138_rl(e)','EX_MGlcn138(e)','EX_MGlcn139_rl(e)','EX_MGlcn139(e)','EX_MGlcn14_rl(e)','EX_MGlcn14(e)','EX_MGlcn140_rl(e)','EX_MGlcn140(e)','EX_MGlcn141_rl(e)','EX_MGlcn141(e)','EX_MGlcn142_rl(e)','EX_MGlcn142(e)','EX_MGlcn143_rl(e)','EX_MGlcn143(e)','EX_MGlcn144_rl(e)','EX_MGlcn144(e)','EX_MGlcn145_rl(e)','EX_MGlcn145(e)','EX_MGlcn146_rl(e)','EX_MGlcn146(e)','EX_MGlcn147_rl(e)','EX_MGlcn147(e)','EX_MGlcn148_rl(e)','EX_MGlcn148(e)','EX_MGlcn149_rl(e)','EX_MGlcn149(e)','EX_MGlcn15_rl(e)','EX_MGlcn15(e)','EX_MGlcn150_rl(e)','EX_MGlcn150(e)','EX_MGlcn151_rl(e)','EX_MGlcn151(e)','EX_MGlcn152_rl(e)','EX_MGlcn152(e)','EX_MGlcn153_rl(e)','EX_MGlcn153(e)','EX_MGlcn154_rl(e)','EX_MGlcn154(e)','EX_MGlcn155_rl(e)','EX_MGlcn155(e)','EX_MGlcn156_rl(e)','EX_MGlcn156(e)','EX_MGlcn157_rl(e)','EX_MGlcn157(e)','EX_MGlcn158_rl(e)','EX_MGlcn158(e)','EX_MGlcn159_rl(e)','EX_MGlcn159(e)','EX_MGlcn16_rl(e)','EX_MGlcn16(e)','EX_MGlcn160_rl(e)','EX_MGlcn160(e)','EX_MGlcn161_rl(e)','EX_MGlcn161(e)','EX_MGlcn162_rl(e)','EX_MGlcn162(e)','EX_MGlcn163_rl(e)','EX_MGlcn163(e)','EX_MGlcn164_rl(e)','EX_MGlcn164(e)','EX_MGlcn165_rl(e)','EX_MGlcn165(e)','EX_MGlcn166_rl(e)','EX_MGlcn166(e)','EX_MGlcn167_rl(e)','EX_MGlcn167(e)','EX_MGlcn168_rl(e)','EX_MGlcn168(e)','EX_MGlcn169_rl(e)','EX_MGlcn169(e)','EX_MGlcn17_rl(e)','EX_MGlcn17(e)','EX_MGlcn170_rl(e)','EX_MGlcn170(e)','EX_MGlcn171_rl(e)','EX_MGlcn171(e)','EX_MGlcn172_rl(e)','EX_MGlcn172(e)','EX_MGlcn173_rl(e)','EX_MGlcn173(e)','EX_MGlcn174_rl(e)','EX_MGlcn174(e)','EX_MGlcn175_rl(e)','EX_MGlcn175(e)','EX_MGlcn176_rl(e)','EX_MGlcn176(e)','EX_MGlcn177_rl(e)','EX_MGlcn177(e)','EX_MGlcn178_rl(e)','EX_MGlcn178(e)','EX_MGlcn179_rl(e)','EX_MGlcn179(e)','EX_MGlcn18_rl(e)','EX_MGlcn18(e)','EX_MGlcn180_rl(e)','EX_MGlcn180(e)','EX_MGlcn181_rl(e)','EX_MGlcn181(e)','EX_MGlcn182_rl(e)','EX_MGlcn182(e)','EX_MGlcn183_rl(e)','EX_MGlcn183(e)','EX_MGlcn185_rl(e)','EX_MGlcn185(e)','EX_MGlcn186_rl(e)','EX_MGlcn186(e)','EX_MGlcn187_rl(e)','EX_MGlcn187(e)','EX_MGlcn188_rl(e)','EX_MGlcn188(e)','EX_MGlcn189_rl(e)','EX_MGlcn189(e)','EX_MGlcn19_rl(e)','EX_MGlcn19(e)','EX_MGlcn190_rl(e)','EX_MGlcn190(e)','EX_MGlcn191_rl(e)','EX_MGlcn191(e)','EX_MGlcn192_rl(e)','EX_MGlcn192(e)','EX_MGlcn193_rl(e)','EX_MGlcn193(e)','EX_MGlcn194_rl(e)','EX_MGlcn194(e)','EX_MGlcn195_rl(e)','EX_MGlcn195(e)','EX_MGlcn196_rl(e)','EX_MGlcn196(e)','EX_MGlcn2_rl(e)','EX_MGlcn2(e)','EX_MGlcn20_rl(e)','EX_MGlcn20(e)','EX_MGlcn21_rl(e)','EX_MGlcn21(e)','EX_MGlcn22_rl(e)','EX_MGlcn22(e)','EX_MGlcn23_rl(e)','EX_MGlcn23(e)','EX_MGlcn24_rl(e)','EX_MGlcn24(e)','EX_MGlcn25_rl(e)','EX_MGlcn25(e)','EX_MGlcn26_rl(e)','EX_MGlcn26(e)','EX_MGlcn27_rl(e)','EX_MGlcn27(e)','EX_MGlcn28_rl(e)','EX_MGlcn28(e)','EX_MGlcn29_rl(e)','EX_MGlcn29(e)','EX_MGlcn3_rl(e)','EX_MGlcn3(e)','EX_MGlcn30_rl(e)','EX_MGlcn30(e)','EX_MGlcn31_rl(e)','EX_MGlcn31(e)','EX_MGlcn32_rl(e)','EX_MGlcn32(e)','EX_MGlcn33_rl(e)','EX_MGlcn33(e)','EX_MGlcn34_rl(e)','EX_MGlcn34(e)','EX_MGlcn35_rl(e)','EX_MGlcn35(e)','EX_MGlcn36_rl(e)','EX_MGlcn36(e)','EX_MGlcn37_rl(e)','EX_MGlcn37(e)','EX_MGlcn38_rl(e)','EX_MGlcn38(e)','EX_MGlcn39_rl(e)','EX_MGlcn39(e)','EX_MGlcn4_rl(e)','EX_MGlcn4(e)','EX_MGlcn40_rl(e)','EX_MGlcn40(e)','EX_MGlcn41_rl(e)','EX_MGlcn41(e)','EX_MGlcn42_rl(e)','EX_MGlcn42(e)','EX_MGlcn45_rl(e)','EX_MGlcn45(e)','EX_MGlcn46_rl(e)','EX_MGlcn46(e)','EX_MGlcn47_rl(e)','EX_MGlcn47(e)','EX_MGlcn48_rl(e)','EX_MGlcn48(e)','EX_MGlcn5_rl(e)','EX_MGlcn5(e)','EX_MGlcn50_rl(e)','EX_MGlcn50(e)','EX_MGlcn51_rl(e)','EX_MGlcn51(e)','EX_MGlcn53_rl(e)','EX_MGlcn53(e)','EX_MGlcn54_rl(e)','EX_MGlcn54(e)','EX_MGlcn55_rl(e)','EX_MGlcn55(e)','EX_MGlcn56_rl(e)','EX_MGlcn56(e)','EX_MGlcn57_rl(e)','EX_MGlcn57(e)','EX_MGlcn58_rl(e)','EX_MGlcn58(e)','EX_MGlcn59_rl(e)','EX_MGlcn59(e)','EX_MGlcn6_rl(e)','EX_MGlcn6(e)','EX_MGlcn60_rl(e)','EX_MGlcn60(e)','EX_MGlcn61_rl(e)','EX_MGlcn61(e)','EX_MGlcn62_rl(e)','EX_MGlcn62(e)','EX_MGlcn63_rl(e)','EX_MGlcn63(e)','EX_MGlcn64_rl(e)','EX_MGlcn64(e)','EX_MGlcn65_rl(e)','EX_MGlcn65(e)','EX_MGlcn66_rl(e)','EX_MGlcn66(e)','EX_MGlcn67_rl(e)','EX_MGlcn67(e)','EX_MGlcn68_rl(e)','EX_MGlcn68(e)','EX_MGlcn69_rl(e)','EX_MGlcn69(e)','EX_MGlcn7_rl(e)','EX_MGlcn7(e)','EX_MGlcn70_rl(e)','EX_MGlcn70(e)','EX_MGlcn71_rl(e)','EX_MGlcn71(e)','EX_MGlcn72_rl(e)','EX_MGlcn72(e)','EX_MGlcn73_rl(e)','EX_MGlcn73(e)','EX_MGlcn74_rl(e)','EX_MGlcn74(e)','EX_MGlcn75_rl(e)','EX_MGlcn75(e)','EX_MGlcn76_rl(e)','EX_MGlcn76(e)','EX_MGlcn77_rl(e)','EX_MGlcn77(e)','EX_MGlcn78_rl(e)','EX_MGlcn78(e)','EX_MGlcn79_rl(e)','EX_MGlcn79(e)','EX_MGlcn8_rl(e)','EX_MGlcn8(e)','EX_MGlcn80_rl(e)','EX_MGlcn80(e)','EX_MGlcn81_rl(e)','EX_MGlcn81(e)','EX_MGlcn82_rl(e)','EX_MGlcn82(e)','EX_MGlcn83_rl(e)','EX_MGlcn83(e)','EX_MGlcn84_rl(e)','EX_MGlcn84(e)','EX_MGlcn85_rl(e)','EX_MGlcn85(e)','EX_MGlcn86_rl(e)','EX_MGlcn86(e)','EX_MGlcn87_rl(e)','EX_MGlcn87(e)','EX_MGlcn88_rl(e)','EX_MGlcn88(e)','EX_MGlcn89_rl(e)','EX_MGlcn89(e)','EX_MGlcn9_rl(e)','EX_MGlcn9(e)','EX_MGlcn90_rl(e)','EX_MGlcn90(e)','EX_MGlcn91_rl(e)','EX_MGlcn91(e)','EX_MGlcn92_rl(e)','EX_MGlcn92(e)','EX_MGlcn93_rl(e)','EX_MGlcn93(e)','EX_MGlcn94_rl(e)','EX_MGlcn94(e)','EX_MGlcn95_rl(e)','EX_MGlcn95(e)','EX_MGlcn96_rl(e)','EX_MGlcn96(e)','EX_MGlcn97_rl(e)','EX_MGlcn97(e)','EX_MGlcn98_rl(e)','EX_MGlcn98(e)','EX_MGlcn99_rl(e)','EX_MGlcn99(e)','EX_mhglz(eb)','EX_mhglz(ev)','EX_mhista(e)','EX_mi1p_D(e)','EX_minohp(e)','EX_miso_glc(e)','EX_miso(e)','EX_mlthf(e)','EX_mma(e)','EX_mmet(e)','EX_mmql7(e)','EX_mmqn7(e)','EX_mn(e)','EX_mops(e)','EX_mpept(e)','EX_mql7(e)','EX_mql8(e)','EX_mqn10(e)','EX_mqn11(e)','EX_mqn9(e)','EX_mrphn_3glc(e)','EX_mrphn_6glc(e)','EX_mrphn(e)','EX_mso3(e)','EX_mthgxl(e)','EX_mtym(e)','EX_mtz_glc(e)','EX_mtz(e)','EX_mvlac(e)','EX_N_oh_phtn_glc(e)','EX_N_oh_phtn(e)','EX_N1aspmd(e)','EX_n2(e)','EX_n2m2mn(e)','EX_n2m2nmasn(e)','EX_n2o(e)','EX_n5m2masn(e)','EX_n8aspmd(e)','EX_na1(u)','EX_NAC(u)','EX_Nacasp(e)','EX_nacvanala(e)','EX_nad(e)','EX_nadh(e)','EX_nadp(e)','EX_Nbfortyr(e)','EX_NCAM(u)','EX_nchlphncl(e)','EX_ndersv(eb)','EX_neopront(e)','EX_neulacnttr(e)','EX_nfd(ep)','EX_nfd(ev)','EX_nfd(u)','EX_nfdac(ep)','EX_nfdac(ev)','EX_nfdlac(ep)','EX_nfdlac(ev)','EX_nfdnpy(ep)','EX_nfdnpy(ev)','EX_nfdoh(ep)','EX_nfdoh(ev)','EX_ni2(e)','EX_nicrnt[e]','EX_nifedipine(e)','EX_no(e)','EX_no(u)','EX_normete_L(e)','EX_norval_L(e)','EX_npthl(e)','EX_nrpphr(e)','EX_nrpphrsf(e)','EX_nrvnc(e)','EX_nsldp_m5_glc(e)','EX_nsldp_m5(e)','EX_nverp_glc(e)','EX_nverp(e)','EX_nwharg(e)','EX_nzp(e)','EX_o16a4colipa(e)','EX_o2(e)','EX_o2(u)','EX_o2s(e)','EX_oaa(e)','EX_oagd3_hs(e)','EX_oagt3_hs(e)','EX_ocdca(u)','EX_OCDCEA(u)','EX_ocdcya(e)','EX_octa(e)_II','EX_octa(u)','EX_odecrn[e]','EX_odsm_egltmn_glc(e)','EX_odsm_egltmn(e)','EX_odsm_gltmn_glc(e)','EX_odsm_gltmn(e)','EX_oh_etr_glc(e)','EX_oh_etr(e)','EX_oh_pbl_glc(e)','EX_oh_pbl(e)','EX_oh1(e)','EX_oh1(u)','EX_oleth(e)','EX_oligofru4(e)','EX_olsa(e)','EX_omeprazole(e)','EX_onpthl(e)','EX_oretn(e)','EX_orn_D(e)','EX_orn_L(e)','EX_orn(e)_II','EX_ORN(U)','EX_orot5p[e]','EX_oxyp(ep)','EX_oxyp1rb(ev)','EX_oxyp7rb(ev)','EX_pa_hs(e)','EX_pac(e)','EX_pacald(e)','EX_paf_hs(e)','EX_pail_hs(e)','EX_pailar_hs(e)','EX_pailpalm_hs(e)','EX_pailste_hs(e)','EX_pan4p(e)','EX_pan4p(u)','EX_pap(e)','EX_pb(e)','EX_pchol_hs(e)','EX_PCHOL_HS(u)','EX_pchol2linl_hs(e)','EX_pchol2ole_hs(e)','EX_pchol2palm_hs(e)','EX_pchol2ste_hs(e)','EX_pcholar_hs(e)','EX_pcholdoc_hs(e)','EX_pcholeic_hs(e)','EX_pcholet_hs(e)','EX_pcholhep_hs(e)','EX_pchollinl_hs(e)','EX_pcholmyr_hs(e)','EX_pcholn15_hs(e)','EX_pcholn183_hs(e)','EX_pcholn1836_hs(e)','EX_pcholn19_hs(e)','EX_pcholn201_hs(e)','EX_pcholn203_hs(e)','EX_pcholn204_hs(e)','EX_pcholn205_hs(e)','EX_pcholn224_hs(e)','EX_pcholn225_hs(e)','EX_pcholn2254_hs(e)','EX_pcholn226_hs(e)','EX_pcholn24_hs(e)','EX_pcholn261_hs(e)','EX_pcholn28_hs(e)','EX_pcholn281_hs(e)','EX_pcholole_hs(e)','EX_pcholpalm_hs(e)','EX_pcholpalme_hs(e)','EX_pcholste_hs(e)','EX_pcollg5hlys(e)','EX_pcreat(e)','EX_pcresol(e)','EX_pcresol(u)','EX_pcrn[e]','EX_pcs(e)','EX_pdima(e)','EX_pe_cer1_BT(e)','EX_pe_hs(e)','EX_pe_hs(u)','EX_pe12_hs(e)','EX_pe13_hs(e)','EX_pe14_hs(e)','EX_pe15_hs(e)','EX_pe161_hs(e)','EX_pe17_hs(e)','EX_pe203_hs(e)','EX_pe224_hs(e)','EX_pe226_hs(e)','EX_pe2linl_hs(e)','EX_pea(e)','EX_peamn(e)','EX_pear_hs(e)','EX_pect(e)','EX_PECT(u)','EX_pecticgal(e)','EX_pectin(e)','EX_pectindchac(e)','EX_PECTINDCHAC(u)','EX_pectingchol(e)','EX_PECTINGCHOL(u)','EX_pectintchol(e)','EX_PECTINTCHOL(u)','EX_pedh203_hs(e)','EX_pelinl_hs(e)','EX_pendecaeth(e)','EX_peole_hs(e)','EX_pep[e]','EX_pepalm_hs(e)','EX_peplys(e)','EX_perillyl(e)','EX_peste_hs(e)','EX_pglyc_hs(e)','EX_ph2s(e)','EX_phacgly(e)','EX_phdca(e)','EX_phe_L(u)','EX_pheacgln(e)','EX_pheacgly(e)','EX_phearg(e)','EX_pheasnmet(e)','EX_pheasp(e)','EX_pheglnphe(e)','EX_pheleu(e)','EX_pheleuasp(e)','EX_pheleuhis(e)','EX_phelysala(e)','EX_phelyspro(e)','EX_pheme(u)','EX_phenol(e)','EX_phephe(e)','EX_phepheasn(e)','EX_phephethr(e)','EX_pheproarg(e)','EX_phesertrp(e)','EX_phethrlys(e)','EX_phetrpleu(e)','EX_phetyr(e)','EX_phetyrgln(e)','EX_phetyrlys(e)','EX_phlac(e)','EX_phppa_glc(e)','EX_phppa(e)','EX_phpyr(e)','EX_phtn_glc(e)','EX_phyQ(e)','EX_PHYQ(u)','EX_phyt(e)','EX_PI(u)','EX_plac(e)','EX_pmeth(e)','EX_pmtcrn[e]','EX_PNTO-R(u)','EX_ppa(e)','EX_ppal(e)','EX_ppbng(e)','EX_ppdima(e)','EX_ppi(e)','EX_ppi(u)','EX_ppiogly(e)','EX_ppoh(e)','EX_ppp9(e)','EX_pppi(e)','EX_pppn(e)','EX_ppt(e)','EX_pre_prot(e)','EX_prgnlone(e)','EX_prgnlones(e)','EX_prgstrn(e)','EX_prist(e)','EX_pro_D(e)','EX_PRO-D(u)','EX_PRO-L(u)','EX_proargasp(e)','EX_proargcys(e)','EX_proasncys(e)','EX_prob_glc(e)','EX_prob(e)','EX_procys(e)','EX_profvs(ev)','EX_proglnpro(e)','EX_proglulys(e)','EX_progly(e)','EX_PROGLY(u)','EX_prohis(e)','EX_prohistyr(e)','EX_proleuarg(e)','EX_prolyspro(e)','EX_pront_glc(e)','EX_pront(e)','EX_prophe(e)','EX_propl_glc(e)','EX_propl(e)','EX_proproarg(e)','EX_propropro(e)','EX_prostgd2(e)','EX_prostge1(e)','EX_prostge2(e)','EX_prostgf2(e)','EX_prostgh2(e)','EX_prostgi2(e)','EX_protrplys(e)','EX_protrpthr(e)','EX_provalgln(e)','EX_prpp(e)','EX_prx_mI_glc(e)','EX_prx_mI(e)','EX_prx_mII_glc(e)','EX_prx_mII(e)','EX_ps_hs(e)','EX_psclys(e)','EX_pser_L(e)','EX_psics_D(e)','EX_psyl(e)','EX_PSYL(u)','EX_psylchol(e)','EX_PSYLCHOL(u)','EX_psyltchol(e)','EX_PSYLTCHOL(u)','EX_psyltdechol(e)','EX_PSYLTDECHOL(u)','EX_ptdca(e)','EX_PTRC(u)','EX_ptth(e)','EX_ptth(u)','EX_ptvst(e)','EX_ptvst(eb)','EX_ptvst(ep)','EX_ptvst(ev)','EX_ptvst(u)','EX_ptvstgluc(e)','EX_ptvstlac(e)','EX_ptvstlac(ev)','EX_ptvstm3(eb)','EX_pullulan1200(e)','EX_pullulan1200(u)','EX_pvs(e)','EX_pvs(eb)','EX_pvs(ep)','EX_pvs(ev)','EX_pvs(u)','EX_pvsgluc(e)','EX_pvsgluc(eb)','EX_pvsgluc(ev)','EX_pydam(u)','EX_pydx(u)','EX_pydxn(u)','EX_pyr(e)','EX_q10(e)','EX_q10(u)','EX_q10h2(e)','EX_q8h2(e)','EX_quln[e]','EX_R_6oh_warf_glc(e)','EX_R_6oh_warf(e)','EX_R_7oh_warf_glc(e)','EX_R_7oh_warf(e)','EX_R_8oh_warf_glc(e)','EX_R_8oh_warf(e)','EX_r34hpp(e)','EX_r406_glc(e)','EX_r406(e)','EX_r529_glc(e)','EX_r529(e)','EX_r5p(e)','EX_r788(e)','EX_raffin(e)','EX_raffin(u)','EX_rbflvrd(e)','EX_rbt(e)','EX_regfnb_glc(e)','EX_regfnb(e)','EX_remnant1(e)','EX_rep_glc(e)','EX_rep(e)','EX_retfa(e)','EX_retinal(e)','EX_retinol_9_cis(e)','EX_retinol_cis_11(e)','EX_retinol(e)','EX_RETINOL(u)','EX_retn(e)','EX_retnglc(e)','EX_rhamnogalurI(e)','EX_rhamnogalurII(e)','EX_rhcys(e)','EX_rib_D(u)','EX_ribflv(u)','EX_rmndlmd(e)','EX_rnam(e)','EX_rpn_104557_cb_glc(e)','EX_rpn_104557(e)','EX_rpn_96990_glc(e)','EX_rpn_96990(e)','EX_rpn_oh_glc(e)','EX_rpn_oh(e)','EX_rsv(e)','EX_rsv(eb)','EX_rsv(ep)','EX_rsv(ev)','EX_rsv(u)','EX_rsvgluc(e)','EX_rsvlac(eb)','EX_Rtotal(e)','EX_RTOTAL(u)','EX_Rtotal2(e)','EX_RTOTAL2(u)','EX_Rtotal3(e)','EX_RTOTAL3(u)','EX_S_4oh_warf_glc(e)','EX_S_4oh_warf(e)','EX_S_6oh_warf_glc(e)','EX_S_6oh_warf(e)','EX_s2l2fn2m2masn(e)','EX_s2l2n2m2m(e)','EX_s2l2n2m2masn(e)','EX_s2l2n2m2mn(e)','EX_s3meacmp(ev)','EX_saccrp_L(e)','EX_salc(e)','EX_salchs2(e)','EX_salchs2fe(e)','EX_SALCHS4(e)','EX_SALCHS4FE(e)','EX_SALCHSX(e)','EX_salcn(e)','EX_sanilamide(e)','EX_sarcs(e)','EX_sb_611855(e)','EX_sb_y(e)','EX_sbt_D(e)','EX_sbt_L(e)','EX_SBT-D(u)','EX_sbzcoa(e)','EX_sch_488128(e)','EX_sch_57871_glc(e)','EX_sch_57871(e)','EX_sebacid(e)','EX_seln(e)','EX_selni(e)','EX_ser_D(e)','EX_Ser_Gly_Ala_X_Gly(e)','EX_ser_L(u)','EX_Ser_Thr(e)','EX_serargala(e)','EX_serargtrp(e)','EX_sercysarg(e)','EX_serglyglu(e)','EX_serlyshis(e)','EX_serphelys(e)','EX_sertrphis(e)','EX_sfcys(e)','EX_sfnd_1689_glc(e)','EX_sfnd_1689(e)','EX_sftz_glc(e)','EX_sftz(e)','EX_simvgluc(e)','EX_skatole(e)','EX_skm(e)','EX_sl_L(e)','EX_smap_glc(e)','EX_smap(e)','EX_smv(eb)','EX_smv(ev)','EX_smv(u)','EX_smvacid(e)','EX_smvacid(eb)','EX_smvacid(ev)','EX_sn38(e)','EX_sn38g(e)','EX_so2(e)','EX_so3(e)','EX_spc_hs(e)','EX_sph1p(e)','EX_sphgn(e)','EX_sphings(e)','EX_sphmyln_BT(e)','EX_sphmyln_hs(e)','EX_sphmyln180241_hs(e)','EX_sphmyln18114_hs(e)','EX_sphmyln18115_hs(e)','EX_sphmyln18116_hs(e)','EX_sphmyln181161_hs(e)','EX_sphmyln18117_hs(e)','EX_sphmyln18118_hs(e)','EX_sphmyln181181_hs(e)','EX_sphmyln18120_hs(e)','EX_sphmyln181201_hs(e)','EX_sphmyln18121_hs(e)','EX_sphmyln18122_hs(e)','EX_sphmyln181221_hs(e)','EX_sphmyln18123_hs(e)','EX_sphmyln1824_hs(e)','EX_sphmyln1825_hs(e)','EX_sphs1p(e)','EX_SPMD(u)','EX_sprm(e)','EX_SPRM(u)','EX_spz_glc(e)','EX_spz_sfn_glc(e)','EX_spz_sfn(e)','EX_spz(e)','EX_sql(e)','EX_srb_L(e)','EX_srtn(e)','EX_srv(e)','EX_ssz(e)','EX_sT_antigen_rl(e)','EX_sT_antigen(e)','EX_stacmp[ev)','EX_starch1200(e)','EX_starch1200(u)','EX_stcrn[e]','EX_steeth(e)','EX_stg_m3(e)','EX_stg_m4(e)','EX_stg(e)','EX_sTn_antigen(e)','EX_STRCH1(u)','EX_strch2(e)','EX_strch2(u)','EX_strdnc(e)','EX_stys(e)','EX_subeac(e)','EX_subgly(e)','EX_sucaceto(e)','EX_sucbz(e)','EX_SUCR(u)','EX_sucsal(e)','EX_sulfac(e)','EX_sulfp(e)','EX_sulpacmp(eb)','EX_sulpacmp(ev)','EX_T_antigen(e)','EX_T4hcinnm(e)','EX_tab(e)','EX_tacr(eb)','EX_tacr(ep)','EX_tacr(ev)','EX_tacr(u)','EX_tag_D(e)','EX_tag_hs(e)','EX_TAG_HS(u)','EX_tagat_D(e)','EX_tagur(e)','EX_tartr_D(e)','EX_tartr_L(e)','EX_tat(e)','EX_taur(e)','EX_TAUR(u)','EX_tauribup_S(ev)','EX_taxol(e)','EX_tca3s(e)','EX_tcb(e)','EX_tcdca3s(e)','EX_tchola(e)','EX_TCHOLA(u)','EX_tcynt(e)','EX_tdca3s(e)','EX_tdchola(e)','EX_tdcrn','EX_tdechola(e)','EX_TDECHOLA(u)','EX_tet(e)','EX_tetdec2crn','EX_tetdeca511ac(e)','EX_tetdecaeth(e)','EX_tetdece1crn','EX_tethex3(e)','EX_tetpent3(e)','EX_tetpent6(e)','EX_tettet6(e)','EX_tgz_glc(e)','EX_tgz(e)','EX_thbpt(e)','EX_thcholstoic(e)','EX_thexdd(e)','EX_thf(e)','EX_thm(e)_II','EX_thm(u)','EX_thmmp(e)','EX_thmtp(e)','EX_thr_L(u)','EX_thrargtyr(e)','EX_thrasntyr(e)','EX_thrfvs(ev)','EX_thrglnglu(e)','EX_thrglntyr(e)','EX_thrhishis(e)','EX_thrilearg(e)','EX_thrmetarg(e)','EX_thrnt(e)','EX_thrp(e)','EX_thrphearg(e)','EX_thrserarg(e)','EX_thrthrarg(e)','EX_thrtyrmet(e)','EX_thsacmp(e)','EX_thym(e)','EX_THYMD(u)','EX_thyochol(e)','EX_thyox_L(e)','EX_tiggly(e)','EX_tlacfvs(ev)','EX_tlf_a_1a(e)','EX_tlf_a_1b(e)','EX_tlf_a_1x(e)','EX_tlf_a_2(e)','EX_tlf_a_2a(e)','EX_tlf_a_3(e)','EX_tlf_a_4(e)','EX_tlf_a_m1(e)','EX_tlf_a_m2(e)','EX_tlf_a_m3(e)','EX_tlf_a_m4(e)','EX_tlf_a_m4a(e)','EX_tlf_a_m5(e)','EX_tlf_a_m5a(e)','EX_tlf_a_m5b(e)','EX_tlf_a_m6(e)','EX_tlf_a_m9(e)','EX_tlf_a(e)','EX_tlms_glc(e)','EX_tlms(e)','EX_tln(e)','EX_tma(e)','EX_tmacmp(e)','EX_tmao(e)','EX_tmd(ep)','EX_tmd(ev)','EX_tmd(u)','EX_tmdm1(ev)','EX_tmdm3(ev)','EX_tmdm5(ev)','EX_tmlys(e)','EX_tmndnc(e)','EX_TMNDNC(u)','EX_tmphp(e)','EX_Tn_antigen(e)','EX_tolbutamide(e)','EX_tolcp_ac_glc(e)','EX_tolcp_ac(e)','EX_tolcp_am_glc(e)','EX_tolcp_am(e)','EX_tolcp_glc(e)','EX_tolcp(e)','EX_tpno_1glc_4g(e)','EX_tpno_4g(e)','EX_tpno_4glc(e)','EX_tpnoh(e)','EX_TRE(u)','EX_trideceth(e)','EX_triodthy(e)','EX_triodthysuf(e)','EX_tripvs(eb)','EX_tripvs(ev)','EX_TRP-L(u)','EX_trpalapro(e)','EX_trpargala(e)','EX_trpaspasp(e)','EX_trpglngln(e)','EX_trpglugly(e)','EX_trpgluleu(e)','EX_trpglupro(e)','EX_trpglutyr(e)','EX_trpglyasp(e)','EX_trpglyleu(e)','EX_trpglyphe(e)','EX_trpglyval(e)','EX_trphismet(e)','EX_trpilelys(e)','EX_trpiletrp(e)','EX_trpleuval(e)','EX_trplys(e)','EX_trpmetarg(e)','EX_trpmetval(e)','EX_trpphe(e)','EX_trpprogly(e)','EX_trpproleu(e)','EX_trpproval(e)','EX_trpsertyr(e)','EX_trpthrglu(e)','EX_trpthrile(e)','EX_trpthrtyr(e)','EX_trptyrgln(e)','EX_trptyrtyr(e)','EX_trpvalasp(e)','EX_trypta(e)','EX_tsacmgluc(e)','EX_tsacmgluc(ev)','EX_tsacmsul(ev)','EX_tststerone(e)','EX_tststeroneglc(e)','EX_tststerones(e)','EX_tsul(e)','EX_ttdca(u)','EX_ttdcea(e)','EX_ttdcrn(e)','EX_tton(e)','EX_tudca3s(e)','EX_tungs(e)','EX_turan_D(e)','EX_txa2(e)','EX_txb2(e)','EX_tym(e)','EX_tymsf(e)','EX_Tyr_ggn(e)','EX_TYR-GGN(u)','EX_TYR-L(u)','EX_tyrala(e)','EX_tyralaphe(e)','EX_tyrargglu(e)','EX_tyrargser(e)','EX_tyrasparg(e)','EX_tyrcysgly(e)','EX_tyrcysthr(e)','EX_tyrglu(e)','EX_tyrleuarg(e)','EX_tyrp(e)','EX_tyrphetyr(e)','EX_tyrthr(e)','EX_tyrtrpphe(e)','EX_tyrtyr(e)','EX_tyrvalmet(e)','EX_uacgam(e)','EX_uchol(e)','EX_udca3s(e)','EX_udcpdp(e)','EX_udcpo4(e)','EX_udcpo5(e)','EX_udp(e)','EX_udpacgal(e)','EX_udpg(e)','EX_udpgal(e)','EX_udpglcur[e]','EX_ump(e)','EX_unsdigalur(e)','EX_urate(e)','EX_urcan(e)','EX_uri(u)','EX_utp(e)','EX_vacc(e)','EX_VAL-L(u)','EX_valarggly(e)','EX_valhisasn(e)','EX_valleuphe(e)','EX_vallystyr(e)','EX_valphearg(e)','EX_valprotrp(e)','EX_valserarg(e)','EX_valtrpphe(e)','EX_valtrpval(e)','EX_valval(e)','EX_vanillac(e)','EX_vitd2(e)','EX_vitd3(e)','EX_vitd3(u)','EX_vldl_hs(e)','EX_wharachd(e)','EX_whddca(e)','EX_whhdca(e)','EX_whtststerone(e)','EX_whttdca(e)','EX_xmp[e]','EX_xol24oh(e)','EX_xol24oh24g(e)','EX_xol24oh24g3s(e)','EX_xol24oh3s(e)','EX_xol25oh(e)','EX_xol27oh(e)','EX_xol7ah3(e)','EX_xol7aone(e)','EX_xoldiolone(e)','EX_xolest_hs(e)','EX_xolest181_hs(e)','EX_xolest182_hs(e)','EX_xolest183_hs(e)','EX_xolest2_hs(e)','EX_XOLEST2_HS(u)','EX_xolest204_hs(e)','EX_xolest205_hs(e)','EX_xolest226_hs(e)','EX_xoltri24(e)','EX_xoltri25(e)','EX_xoltri27(e)','EX_xtsn(e)','EX_xylan(e)','EX_xylottr(e)','EX_xylt(e)','EX_xylt(u)','EX_xylu_D(e)','EX_xylu_L(e)','EX_xyluglc(e)','EX_yvite(e)'};

ExcludeRxns = union(ExcludeRxns,notinCM);

if nargin < 4
    excludeDMs=1;
end

if nargin < 5
    excludeSinks=1;
end

if nargin < 6
    excludeExchanges=0;
end

if isfield(model,'A')
    model=rmfield(model,'A');
end

tol=0.1;

modelOrg=model;

% get the reaction that needs to be gap-filled
targetRxn=model.rxns{model.c==1,1};

% create model out of reaction database if not existing
if isfile('rBioNetDB.mat')
    load('rBioNetDB.mat');
else
    rBioNetDB = createModel;
    for i = 2 : size(database.reactions,1)
        rBioNetDB = addReaction(rBioNetDB,database.reactions{i,1},database.reactions{i,3});
    end
    save('rBioNetDB','rBioNetDB');
end
% find reaction(s) from the complete reaction database that can enable
% growth

% make the model infeasible
if strcmp(osenseStr,'max')
    model.lb(find(model.c))=tol;
elseif strcmp(osenseStr,'min')
    model.ub(find(model.c))=-tol;
end
FBA = optimizeCbModel(model);

% check if the model cannot produce biomass

if FBA.stat ==3 || FBA.stat ==0
 
    % try if adding rBioNetDB would fix the problem of not being able to
    % produce biomass
    % remove reactions already in model
    [C]=intersect(rBioNetDB.rxns,model.rxns);
    rBioNetDB=removeRxns(rBioNetDB,C);

    % account for coupling constraints
    if isfield(model,'C')
        rxns2Couple=model.rxns;
        rxns2Couple(find(strncmp(rxns2Couple,targetRxn,length(targetRxn))),:)=[];
        model = rmfield(model,{'C','d'});
        coupleRxns = 1;
    end

    [modelExpanded] = mergeTwoModels(rBioNetDB,model,1,0);
    
    if exist('coupleRxns','var')
        rxns2Couple = intersect(rxns2Couple,modelExpanded.rxns);
        modelExpanded=coupleRxnList2Rxn(modelExpanded,rxns2Couple,targetRxn,400,0); %couple the specific reactions
    end
    modelExpanded = changeObjective(modelExpanded,targetRxn);
    FBA2 = optimizeCbModel(modelExpanded);
    
    if FBA2.stat == 1 && abs(FBA2.f) > 0  % feasible non-zero solution found
        % now identify the minimum number of reactions to be added
        % 1. set all rBioNet reaction to 0
        % therefore find all reactions in rBioNetDB but not in model
        R = setdiff(rBioNetDB.rxns,model.rxns);
        modelExpanded.lb(ismember(modelExpanded.rxns,R)) = 0;
        modelExpanded.ub(ismember(modelExpanded.rxns,R)) = 0;
        % 2. use relaxFBA
        % Excluded reactions that are currently in the model to be
        % relaxed
        
        clear param
        param.printLevel = 1; % set to 0 if not print is desired
        
        % do not change these parameters
        param.theta=0.5;
        param.steadyStateRelax = 0;
        % exclude original model reactions to have relaxed
        % bounds
        param.excludedReactions = ismember(modelExpanded.rxns,model.rxns);
        
        % exclude irreversible reactions from relaxing lower bounds
        if contains(version,'(R202') % for Matlab R2020a and newer
            db=database.reactions(2:end,:);
            irrRxns=db(find(cell2mat(db(:,4))==0),1);
        else
            irrRxns=database.reactions(find(strcmp(database.reactions(:,4),'0')),1);
        end

        if excludeExchanges
            % exclude exchange reactions from relaxing lower bounds-for
            % growth medium gap-filling
            ExR = modelExpanded.rxns(find(contains(modelExpanded.rxns,'EX_')));
            irrRxns=union(irrRxns,ExR);
        end
        
        param.excludedReactionLB = ismember(modelExpanded.rxns,irrRxns);
        
        % exclude DM reactions to have relaxed bounds
        if excludeDMs
            DMR = contains(modelExpanded.rxns,'DM_');
            param.excludedReactions(DMR)=1;
        end
        if excludeSinks
            % exclude sink reactions to have relaxed bounds
            SinkR = contains(modelExpanded.rxns,'sink_');
            param.excludedReactions(SinkR)=1;
        end

        if exist('ExcludeRxns','var') && ~isempty(ExcludeRxns)
            param.excludedReactions(ismember(modelExpanded.rxns,ExcludeRxns)) = 1;
        end
        % run relaxed FBA
        try
            [solution, relaxedModel] = relaxedFBA(modelExpanded, param);
            %             FBA2 = optimizeCbModel(relaxedModel);
            %         while FBA2.origStat ==3 % cannot produce biomass
            %             % repeat relaxFBA this time with the relaxed model
            %             [solution, relaxedModel] = relaxedFBA(relaxedModel, param);
            %             FBA2 = optimizeCbModel(relaxedModel);
            %         end

            %% get solutions for relaxation
            LBsol = relaxedModel.rxns(abs(relaxedModel.lb)>0);
            LBsol=setdiff(LBsol,model.rxns);
            UBsol = relaxedModel.rxns(abs(relaxedModel.ub)>0);
            UBsol=setdiff(UBsol,model.rxns);

            model=modelOrg;

            addedRxns=union(LBsol,UBsol);

            % may result in transporters being added without the exchange
            % reaction-need to add the exchange reaction in this case
            exMets={};
            mets=findMetsFromRxns(relaxedModel,addedRxns);
            exMets=union(exMets,mets(find(contains(mets,'[e]'))));
            exRxns={};
            for j=1:length(exMets)
                exInd=find(strncmp(database.reactions(:,1),['EX_' strrep(exMets{j},'[e]','(e)')],length(['EX_' strrep(exMets{j},'[e]','(e)')])));
                if isempty(exInd)
                    exInd=find(strncmp(database.reactions(:,1),['EX_' exMets{j}],length(['EX_' exMets{j}])));
                end
                exRxns=union(exRxns,database.reactions(exInd,1));
            end
             addedRxns=union(addedRxns,exRxns);
             addedRxns = setdiff(addedRxns,model.rxns);

            for j=1:length(addedRxns)
                rxnInd=find(strcmp(database.reactions(:,1),addedRxns{j}));
                model = addReaction(model, [database.reactions{rxnInd,1} '_untGF'], database.reactions{rxnInd,3});
            end

        catch
            warning('relaxFBA could not find a solution!')
        end
    end
end

end
